﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Manager.App_Code;
using System.Linq;

namespace Manager.FormAdd_Edit
{
    public partial class frm_GroupCustomer : DevExpress.XtraEditors.XtraForm
    {
        NewPearl_HotelDataContext db = new NewPearl_HotelDataContext();
        NhomKhach nhomKhach = null;

        public frm_GroupCustomer()
        {
            InitializeComponent();
        }
        
        public frm_GroupCustomer(NhomKhach _nhomKhach)
        {
            InitializeComponent();
            nhomKhach = _nhomKhach;
        }
        private void frm_GroupCustomer_Load(object sender, EventArgs e)
        {
            if (nhomKhach != null)
            {
                txtMaNK.Text = nhomKhach.MaNhomKhach.ToString();
                txtTenNK.Text = nhomKhach.TenNhomKhach;
                memoGhiChu.Text = nhomKhach.GhiChu;
                txtMaNK.Enabled = false;
            }
        }

        private int Validate()
        {
            int flag = 0;
            if (txtMaNK.Text == "")
            {
                flag = 1;
                dxErrorProvider1.SetError(txtMaNK, "Vui lòng nhập Mã nhóm khách");
            }
            if (txtTenNK.Text == "")
            {
                flag = 1;
                dxErrorProvider1.SetError(txtTenNK, "Vui lòng nhập Tên nhóm khách");
            }
            return flag;
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {

            if (Validate() == 0)
            {
                dxErrorProvider1.ClearErrors();

            }
            else
            {
                MessageBox.Show("Có lỗi xảy ra!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            
            if (nhomKhach != null)
            {
                var temp = db.NhomKhaches.SingleOrDefault(i => i.MaNhomKhach == nhomKhach.MaNhomKhach);
                temp.MaNhomKhach = long.Parse(txtMaNK.Text);
                temp.TenNhomKhach = txtTenNK.Text;
                temp.GhiChu = memoGhiChu.Text;                               
            }
            else
            {
                NhomKhach nhomkhach1 = new NhomKhach();
                nhomkhach1.MaNhomKhach = long.Parse(txtMaNK.Text);
                nhomkhach1.TenNhomKhach = txtTenNK.Text;
                nhomkhach1.GhiChu = memoGhiChu.Text;
                db.NhomKhaches.InsertOnSubmit(nhomkhach1);
            }
            db.SubmitChanges();
            MessageBox.Show("Cập nhật dữ liệu thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);

        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Bạn có muốn đóng không?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (dr == DialogResult.OK)
                this.Close();
                
        }

        private void btnLuuThoat_Click(object sender, EventArgs e)
        {
            this.btnLuu_Click(sender, e);
            this.Close();
         
        }

        private void frm_GroupCustomer_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.F4)
                this.btnLuuThoat_Click(sender, e);
            if (e.KeyCode == Keys.F2)
                this.btnLuu_Click(sender, e);
            if (e.KeyCode == Keys.Escape)
                this.btnThoat_Click(sender, e);
        }
 
    }
}